home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / OEMNADIN.IN_ / oemnadin.inf
INI File  |  1996-07-12  |  34KB  |  848 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     ISA
  5.     EISA
  6.     "Jazz-Internal Bus"
  7. [Options]
  8.     EE16
  9. [FileConstants]
  10. AllowEarly = 0
  11. UtilityInf      = "UTILITY.INF"
  12. ParamInf        = "NCPARAM.INF"
  13. subroutineinf   = "SUBROUTN.INF"
  14. SoftwareType    = "driver"
  15. Exit_Code       = 0
  16. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  17. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  18. Manufacturer    = "Microsoft"
  19. ProductMajorVersion     = "4"
  20. ProductMinorVersion     = "0"
  21. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  22. ProductSoftwareName     = "EE16"
  23. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\ee16.sys"
  24. NetRuleSoftwareType     = "ee16Sys ndisDriver ee16Driver"
  25. NetRuleSoftwareUse      = $(SoftwareType)
  26. NetRuleSoftwareBindForm = """Ee16Sys"" yes no container"
  27. NetRuleSoftwareClass    = {"ee16Driver basic"}
  28. NetRuleSoftwareBindable = {"ee16Driver ee16Adapter non exclusive 100"} 
  29. ProductHardwareName     = "EE16"
  30. NetRuleHardwareType     = "ee16 ee16Adapter"
  31. NetRuleHardwareBindForm = " yes yes container"
  32. NetRuleHardwareClass    = {"ee16Adapter basic"}
  33. ProductOpSupport     = 134 
  34. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  35. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  36. Transceiver1 = "Thick Net (AUI/DIX)"
  37. Transceiver2 = "Thin Net (BNC/COAX)"
  38. Transceiver3 = "Twisted-Pair (TPE)"
  39. [GeneralConstants]
  40. from      = ""
  41. to        = ""
  42. ExitCodeOk     = 0
  43. ExitCodeCancel = 1
  44. ExitCodeFatal  = 2
  45. KeyNull         = ""
  46. MAXIMUM_ALLOWED   = 33554432
  47. RegistryErrorIndex = NO_ERROR
  48. KeyProduct      = ""
  49. KeyParameters   = ""
  50. TRUE            = 1
  51. FALSE           = 0
  52. NoTitle         = 0
  53. ExitState   = "Active"
  54. OldVersionExisted = $(FALSE)
  55. DriverPath      = $(!STF_NTPATH)\drivers
  56. [date]
  57.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  58. [Identify]
  59.     read-syms Identification
  60.     set Status     = STATUS_SUCCESSFUL
  61.     set Identifier = $(OptionType)
  62.     set Media      = #("Source Media Descriptions", 1, 1)
  63.     Return $(Status) $(Identifier) $(Media)
  64. [ReturnOptions]
  65.     set Status        = STATUS_FAILED
  66.     set OptionList     = {}
  67.     set OptionTextList = {}
  68.     set LanguageList = ^(LanguagesSupported, 1)
  69.     Ifcontains(i) $($0) in $(LanguageList)
  70.         ifstr(i) $($1) == ""
  71.            goto returnoptions
  72.         endif
  73.         set PlatformList = ^(PlatformsSupported, 1)
  74.         Ifcontains(i) $($1) in $(PlatformList)
  75.            goto returnoptions
  76.         else
  77.            set Status = STATUS_NOTSUPPORTED
  78.            goto finish_ReturnOptions
  79.         endif
  80.     else
  81.         set Status = STATUS_NOLANGUAGE
  82.         goto finish_ReturnOptions
  83.     endif
  84. returnoptions = +
  85.     set OptionList     = ^(Options, 1)
  86.     set OptionTextList = ^(OptionsText$($0), 1)
  87.     set Status         = STATUS_SUCCESSFUL
  88. finish_ReturnOptions = +
  89.     Return $(Status) $(OptionList) $(OptionTextList)
  90. [InstallOption]
  91.     set Option   = $($1)
  92.     set SrcDir   = $($2)
  93.     set AddCopy  = $($3)
  94.     set DoCopy   = $($4)
  95.     set DoConfig = $($5)
  96.     set LanguageList = ^(LanguagesSupported, 1)
  97.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  98.         Return STATUS_NOLANGUAGE
  99.     endif
  100.     set-subst LF = "\n"
  101.     read-syms GeneralConstants
  102.     read-syms FileConstants
  103.     read-syms DialogConstants$(!STF_LANGUAGE)
  104.     ifstr(i) $(!NTN_Origination) == "NCPA"
  105.         set Continue = $(OK)
  106.     endif
  107.     read-syms FileConstants$(!STF_LANGUAGE)
  108.     detect date
  109.     set-title  $(FunctionTitle)
  110.     set to   = Begin
  111.     set from = Begin
  112.     set CommonStatus = STATUS_SUCCESSFUL
  113.     EndWait
  114. Begin = +
  115.     set ActivateDetection = FALSE
  116.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  117.                 set StartLabel = removeadapter
  118.         else-Ifstr(i) $(!NTN_InstallMode) == Update
  119.                         set StartLabel = UpgradeSoftware
  120.         else-Ifstr(i) $(!NTN_InstallMode) == bind
  121.                 set StartLabel = bindingadapter
  122.         else-Ifstr(i) $(!NTN_InstallMode) == configure
  123.                 set CommonStatus = STATUS_REBOOT
  124.                 set ActivateDetection = TRUE
  125.                 set StartLabel = configureadapter
  126.                 Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  127.                         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  128.                         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  129.                                 Debug-Output "ShellCode error: cannot get an error string."
  130.                                 goto ShellCodeError
  131.                         endif
  132.                         set Error = $($R0)
  133.                         set from = end
  134.                         set to = end
  135.                         goto nonfatalinfo
  136.                 endif
  137.     else
  138.                 set StartLabel = installadapter
  139.                 set OEM_ABANDON_OPTIONS = {}
  140.                 set OEM_ABANDON_SOFTWARE = FALSE
  141.                 set OEM_ABANDON_ON = TRUE
  142.                 set ActivateDetection = TRUE
  143.     endif
  144.     Debug-Output "OEMNADIN.INF: =================================================="
  145.     Debug-Output "OEMNADIN.INF: STF_CWDIR is: "$(!STF_CWDIR)
  146.     Debug-Output "OEMNADIN.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  147.     Debug-Output "OEMNADIN.INF: Option is: "$(Option)
  148.     Debug-Output "OEMNADIN.INF: !STF_NCDETECT  is: "$(!STF_NCDETECT)
  149.     Debug-Output "OEMNADIN.INF: !STF_NCOPTION  is: "$(!STF_NCOPTION)
  150.     Debug-Output "OEMNADIN.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  151.     Debug-Output "OEMNADIN.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  152.     Debug-Output "OEMNADIN.INF: =================================================="
  153.     Set DetectedCard = FALSE
  154.     Ifstr(i) $(ActivateDetection) != TRUE
  155.         Goto skipdetection
  156.     Endif
  157.     Set TypeList = {{IRQ,IRQList,IRQValue},+
  158.                     {IOADDR, IOBaseAddrDecList, IOBaseAddrValue},+
  159.                     {IOCHANNELREADY, IOReadyList_ignore, IOReady},+
  160.                     {TRANSCEIVER, TransceiverList_ignore, Transceiver}+
  161.                     }
  162.     Debug-Output "OEMNADIN.INF: Calling Param_BuildTypeLists"
  163.     Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
  164.     Set Status = $($R0)
  165.     ifstr(i) $(Status) != STATUS_SUCCESSFUL
  166.         Goto fataldetect
  167.     Endif
  168.     Debug-Output "OEMNADIN.INF: Calling Param_SetDefaults"
  169.     Shell $(ParamInf) Param_SetDefaults {}
  170.     set IOReady = 2
  171.     set Transceiver = 2
  172.     Shell $(ParamInf) HexListFromDecList $(IOBaseAddrDecList)
  173.     Set IOBaseAddrHexList = $($R0)
  174.     Shell $(UtilityInf) SortList $(IRQList) TRUE FALSE
  175.     Set IRQList = $($R0)
  176.     Ifstr(i) $(!STF_NCDETECT) == YES
  177.         Ifstr(i) $(!STF_NCOPTION) == $(Option)
  178.            Set DetectedCard = TRUE
  179.            Debug-Output "OEMNADIN.INF: Setting DetectedCard to TRUE"
  180.         Endif
  181.     Endif
  182. skipdetection =+
  183.     set from = $(fatal)
  184.     set to = $(fatal)
  185.     goto $(StartLabel)
  186. installadapter = +
  187.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  188.     Ifstr $(KeyProduct) != $(KeyNull)
  189.         CloseRegKey $(KeyProduct)
  190.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  191.            Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  192.                $(ProductVersion)
  193.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  194.                Debug-Output "ShellCode error: cannot get an error string."
  195.                goto ShellCodeError
  196.            endif
  197.            goto end
  198.         else
  199.            Shell $(UtilityInf), CardExistedDlg
  200.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  201.                Debug-Output "ShellCode error: cannot get an error string."
  202.                goto ShellCodeError
  203.            endif
  204.            ifstr(i) $($R1) != "OK"
  205.                set CommonStatus = STATUS_USERCANCEL
  206.                goto end
  207.            endif
  208.            set OldVersionExisted = $(TRUE)
  209.         endif
  210.     endif
  211.     Ifstr(i) $(DetectedCard) != TRUE
  212.         Goto adaptersetup
  213.     Endif
  214.     StartWait
  215.     Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  216.     EndWait
  217.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  218.         Goto adaptersetup
  219.     Endif
  220.     Set DetectedParams = $($R1)
  221.     Debug-Output "OEMNADIN.INF: Calling Param_SetDefaults to merge detected params"
  222.     Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  223.     goto adaptersetup
  224. configureadapter = +
  225.     Ifstr $(KeyProduct) == $(KeyNull)
  226.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  227.         Ifstr $(KeyProduct) == $(KeyNull)
  228.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  229.             Debug-Output "Cannot find component product key"
  230.             goto fatalregistry
  231.         Endif
  232.     Endif
  233.     Debug-Output "INF: Shelling to FindService"
  234.     Shell $(UtilityInf) FindService, $(KeyProduct)
  235.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  236.         Debug-Output "INF: FindService shell failure"
  237.         Goto ShellCodeError
  238.     Endif
  239.     Ifstr(i) $($R0) != NO_ERROR
  240.         Debug-Output "INF: FindService Shell error: "$($R0)
  241.         Goto fatalregistry
  242.     endif
  243.     set KeyParameters = $($R2)
  244.     CloseRegKey $($R1)
  245.     Ifstr $(KeyParameters) == $(KeyNull)
  246.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  247.         Debug-Output "Cannot find component service"
  248.         goto fatalregistry
  249.     endif
  250.     set OldVersionExisted = $(TRUE)
  251.     set ValueName = ""
  252.     set ValueData = ""
  253.     set ValueStr  = ""
  254.     set ValueList = {}
  255.     EnumRegValue $(KeyParameters) ValueList
  256.     ForListDo $(ValueList)
  257.         set ValueItem = $($)
  258.         set ValueName = *($(ValueItem),1)
  259.         set ValueData = *($(ValueItem),4)
  260.         Ifstr(i) $(ValueName) == "InterruptNumber"
  261.             set IRQValue = $(ValueData)
  262.         else-ifstr(i) $(ValueName) == "IoBaseAddress"
  263.             set IOBaseAddrValue = $(ValueData)
  264.         else-ifstr(i) $(ValueName) == "IoChannelReady"
  265.             set IOReady = $(ValueData)
  266.         else-ifstr(i) $(ValueName) == "Transceiver"
  267.             set Transceiver = $(ValueData)
  268.         else-ifstr(i) $(ValueName) == "BusType"
  269.             set BusInterfaceType = $(ValueData)
  270.         else-ifstr(i) $(ValueName) == "BusNumber"
  271.             set BusNumber = $(ValueData)
  272.         endif
  273.     EndForListDo
  274.     ifstr(i) $(IRQValue) == ""
  275.         set IRQValue = *($(IRQList), 2)
  276.     endif
  277.     ifstr(i) $(IOBaseAddrValue) == ""
  278.         set IOBaseAddrValue = *($(IOBaseAddrDecList), 1)
  279.     endif
  280.     ifstr(i) $(Transceiver) == $(Transceiver1)
  281.         set Transceiver = 1
  282.     else-ifstr(i) $(Transceiver) == $(Transceiver2)
  283.         set Transceiver = 2
  284.     else-ifstr(i) $(Transceiver) == $(Transceiver3)
  285.         set Transceiver = 3
  286.     endif
  287. adaptersetup =+
  288.     Shell $(ParamInf) Param_ParameterConfidence
  289.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  290.         Debug-Output "OEMNADE2.INF: parameter confidence too low to bypass configuration"
  291.         Goto adapteroptions
  292.     Endif
  293.     Ifstr(i) $(DetectedCard) == TRUE
  294.         Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  295.             set BusInterfaceType = *($(!STF_NCDETINFO),5)
  296.             set BusNumber = *($(!STF_NCDETINFO),6)
  297.             Goto adapterverify
  298.         Endif
  299.     Endif
  300.     goto adapteroptions
  301. adapteroptions = +
  302.     ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  303.         ifstr(i) $(!AutoNetInterfaceType) != ""
  304.             set BusInterfaceType = $(!AutoNetInterfaceType)
  305.         else
  306.             set BusInterfaceType = 1    
  307.         endif
  308.         ifstr(i) $(!AutoNetBusNumber) != ""
  309.             set BusNumber = $(!AutoNetBusNumber)
  310.         else
  311.             set BusNumber = 0
  312.         endif
  313.         goto adapterverify
  314.     endif
  315.     Ifint $(IOReady) == 1
  316.         Set AllowEarly = 1
  317.     Endif
  318.     set from = adapteroptions
  319.     set IOBaseAddress = *($(IOBaseAddrHexList), ~($(IOBaseAddrDecList),+
  320.         $(IOBaseAddrValue)))
  321.     set IOReadyValue = *($(IOReadyList), $(IOReady))
  322.     set TransceiverValue = *($(TransceiverList), $(Transceiver))
  323.     Ifint $(AllowEarly) == 0
  324.        Set IOReadyListDisplay = $(IOReadyListShort)
  325.     Else
  326.        Set IOReadyListDisplay = $(IOReadyList)
  327.     Endif
  328.     read-syms FileDependentDlg$(!STF_LANGUAGE)
  329.     ui start "InputDlg"
  330.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  331.                 set IRQValue = $(Combo1Out)
  332.                 set IOBaseAddress = $(Combo2Out)
  333.                 set IOReady = ~($(IOReadyList),$(Combo3Out))
  334.                 set Transceiver = ~($(TransceiverList),$(Combo4Out))
  335.                 Ifint $(IOReady) == 1
  336.                     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(EarlyWarning)
  337.                     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  338.                          goto ShellCodeError
  339.                     Endif
  340.                     Ifstr(i) $($R1) == "CANCEL"
  341.                          goto adapteroptions
  342.                     Endif
  343.                 Endif
  344.                 ui pop 1
  345.     else-ifstr(i) $(DLGEVENT) == "BACK"
  346.                 set CommonStatus = STATUS_USERCANCEL
  347.                 Debug-Output "Action: exit. Bye."
  348.                 ui pop 1
  349.                 goto end
  350.     else
  351.                 ui pop 1
  352.                 Debug-Output "Action: unknown. Bye."
  353.                 goto end
  354.     endif
  355.     set IOBaseAddrValue = *($(IOBaseAddrDecList), ~($(IOBaseAddrHexList),+
  356.         $(IOBaseAddress)))
  357.     ifstr(i) $(!STF_NCDETINFO) == {}
  358.         Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(BusInterfaceType) $(BusNumber)
  359.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  360.             Debug-Output "ShellCode error."
  361.             goto ShellCodeError
  362.         endif
  363.         set BusInterfaceType = $($R1)
  364.         set BusNumber = $($R2)
  365.     else
  366.         set BusInterfaceType = *($(!STF_NCDETINFO),5)
  367.         set BusNumber = *($(!STF_NCDETINFO),6)
  368.     endif
  369. adapterverify =+
  370.     Ifstr(i) $(DetectedCard) != TRUE
  371.         Goto skipoptions
  372.     Endif
  373.     Debug-Output "OEMNADIN.INF: Calling Param_VerifyCard"
  374.     Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  375.     Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  376.         Debug-Output "OEMNADIN.INF: Param_VerifyCard succeeded"
  377.         Goto skipoptions
  378.     Endif
  379.     Set from = adapteroptions
  380.     Set to = skipoptions
  381.     Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  382.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  383.         Debug-Output "ShellCode error: cannot get an error string."
  384.         goto ShellCodeError
  385.     endif
  386.     set Error = $($R0)
  387.     Goto Warning
  388. skipoptions =+
  389.     ifint $(OldVersionExisted) == $(TRUE)
  390.                 ifstr(i) $(!NTN_InstallMode) == configure
  391.                         goto writeparameters
  392.                 endif
  393.     endif
  394.     StartWait
  395.     ifint $(OldVersionExisted) == $(FALSE)
  396.         ifstr(i) $(!NTN_InstallMode) == "install"
  397.             Ifstr(i) $(DoCopy) == "YES"
  398.                 Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  399.                 Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  400.                     Goto ShellCodeError
  401.                 Else-Ifstr(i) $($R0) == STATUS_FAILED
  402.                     Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  403.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  404.                        goto ShellCodeError
  405.                     endif
  406.                     set Error = $($R0)
  407.                     Goto fatal
  408.                 Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  409.                     Goto successful
  410.                 Endif
  411.                 Set SrcDir = $($R1)
  412.             Endif
  413.             install "Install-Option"
  414.             ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  415.                 Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  416.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  417.                     goto ShellCodeError
  418.                 endif
  419.                 set Error = $($R0)
  420.                 goto fatal
  421.             endif
  422.         endif
  423.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  424.                 $(ProductSoftwareName), +
  425.                 $(ProductSoftwareName), +
  426.                 $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  427.                 $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  428.                 $(NetEventDLL)
  429.         Set OEM_ABANDON_SOFTWARE = TRUE
  430.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  431.                 Debug-Output "ShellCode error"
  432.                 goto ShellCodeError
  433.         endif
  434.         set RegistryErrorIndex = $($R0)
  435.         set KeyProduct      = $($R1)
  436.         Set SoftNetRulesKey = $($R2)
  437.         CloseRegKey $($R3)
  438.         CloseRegKey $($R4)
  439.         CloseRegKey $($R5)
  440.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  441.                 EndWait
  442.                 Debug-Output "Registry error: add software components"
  443.                 CloseRegKey $(KeyProduct)
  444.                 CloseRegKey $(SoftNetRulesKey)
  445.                 goto fatalregistry
  446.         endif
  447.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  448.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  449.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  450.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  451.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  452.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  453.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  454.         Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  455.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  456.                 Debug-Output "ShellCode error."
  457.                 goto ShellCodeError
  458.         endif
  459.         set RegistryErrorIndex = $($R0)
  460.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  461.                 EndWait
  462.                 Debug-Output "Registry error: add value list."
  463.                 CloseRegKey $(KeyProduct)
  464.                 CloseRegKey $(SoftNetRulesKey)
  465.                 goto fatalregistry
  466.         endif
  467.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  468.                                 {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  469.                                 {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  470.                                 {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  471.                                 {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  472.                                 {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  473.         Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  474.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  475.                 Debug-Output "ShellCode error."
  476.                 goto ShellCodeError
  477.         endif
  478.         set RegistryErrorIndex = $($R0)
  479.         CloseRegKey $(KeyProduct)
  480.         CloseRegKey $(SoftNetRulesKey)
  481.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  482.                 EndWait
  483.                 Debug-Output "Resgitry error: add value list."
  484.                 goto fatalregistry
  485.         endif
  486.     endif
  487.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  488.     ifint $($R4) != -1
  489.                 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  490.     endif
  491.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  492.                 Debug-Output "Cannot add hardware component"
  493.                 goto ShellCodeError
  494.     endif
  495.     set RegistryErrorIndex = $($R0)
  496.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  497.                 EndWait
  498.                 Debug-Output "Registry error: add hardware component"
  499.                 CloseRegKey $($R1)
  500.                 CloseRegKey $($R2)
  501.                 CloseRegKey $($R3)
  502.                 goto fatalregistry
  503.     endif
  504.     set KeyParameters = $($R3)
  505.     set KeyAdapterRules = $($R2)
  506.     set AdapterNumber = $($R4)
  507.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  508.                        {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
  509.                        {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
  510.                        {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  511.                        {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  512.                        {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
  513.                        {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  514.     Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  515.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  516.                 Debug-Output "ShellCode error"
  517.                 goto ShellCodeError
  518.     endif
  519.     CloseRegKey $($R1)
  520.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  521.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  522.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  523.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  524.                         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  525.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  526.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  527.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  528.                 Debug-Output "ShellCode error."
  529.                 goto ShellCodeError
  530.     endif
  531.     set RegistryErrorIndex = $($R0)
  532.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  533.                 EndWait
  534.                 Debug-Output "Resgitry error: add value list."
  535.                 CloseRegKey $(KeyParameters)
  536.                 CloseRegKey $(KeyAdapterRules)
  537.                 goto fatalregistry
  538.     endif
  539.     CloseRegKey $(KeyAdapterRules)
  540.     goto writeparameters
  541. writeparameters = +
  542.     ifint $(Transceiver) == 1
  543.         set Transceiver = $(Transceiver1)
  544.     else-ifint $(Transceiver) == 2
  545.         set Transceiver = $(Transceiver2)
  546.     else-ifint $(Transceiver) == 3
  547.         set Transceiver = $(Transceiver3)
  548.     endif
  549.     set NewValueList = {{InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
  550.                        {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
  551.                        {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  552.                        {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  553.                        {IoChannelReady,$(NoTitle),$(!REG_VT_DWORD),$(IOReady)},+
  554.                        {Transceiver,$(NoTitle),$(!REG_VT_SZ),$(Transceiver)},+
  555.                        {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)}}
  556.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  557.     ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  558.         Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters)
  559.     endif
  560.     CloseRegKey $(KeyParameters)
  561.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  562.         Debug-Output "ShellCode error."
  563.         goto ShellCodeError
  564.     endif
  565.     set RegistryErrorIndex = $($R0)
  566.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  567.                 Debug-Output "Registry error: Add value list"
  568.                 goto fatalregistry
  569.     endif
  570.     EndWait
  571.     goto successful
  572. bindingadapter =+
  573.     set Error = "Binding: Sorry, not yet implemented."
  574.     goto fatal
  575. removeadapter = +
  576.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  577.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  578.                         $(ProductSoftwareName)
  579.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  580.                         Debug-Output "ShellCode error"
  581.                         goto ShellCodeError
  582.         endif
  583.         set RegistryErrorIndex = $($R0)
  584.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  585.                         goto fatalregistry
  586.         endif
  587.     else
  588.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  589.                 $(ProductSoftwareName), $(!NTN_RegBase)
  590.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  591.                         Debug-Output "ShellCode error"
  592.                         goto ShellCodeError
  593.         endif
  594.         set RegistryErrorIndex = $($R0)
  595.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  596.                 goto fatalregistry
  597.         endif
  598.     endif
  599.     goto end
  600. UpgradeSoftware = +
  601.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  602.     Ifstr $(KeyProduct) != $(KeyNull)
  603.         install "Install-Update"
  604.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  605.             goto fatal
  606.         endif
  607.         SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  608.         SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  609.         CloseRegKey $(KeyProduct)
  610.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Linkage" $(MAXIMUM_ALLOWED) LinkageKey
  611.         ifstr(i) $(LinkageKey) != ""
  612.             GetRegValue $(LinkageKey) Bind BindInfo
  613.             ForListDo *($(BindInfo),4)
  614.                 Split-String $($) "\" CardInfo
  615.                 QueryListSize CardPos $(CardInfo)
  616.                 OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"*($(CardInfo),$(CardPos))"\Parameters" $(MAXIMUM_ALLOWED) ParamKey
  617.                 ifstr $(ParamKey) != ""
  618.                     GetRegValue $(ParamKey) "Transceiver" TransceiverInfo
  619.                     ifint *($(TransceiverInfo ),4) == "1"
  620.                         SetRegValue $(ParamKey) {Transceiver,$(NoTitle),$(!REG_VT_SZ),$(Transceiver1)}
  621.                     else-ifstr(i) *($(TransceiverInfo ),4) == "Think Net (AUI/DIX)"
  622.                         SetRegValue $(ParamKey) {Transceiver,$(NoTitle),$(!REG_VT_SZ),$(Transceiver1)}
  623.                     else-ifint *($(TransceiverInfo ),4) == "2"
  624.                         SetRegValue $(ParamKey) {Transceiver,$(NoTitle),$(!REG_VT_SZ),$(Transceiver2)}
  625.                     else-ifint *($(TransceiverInfo ),4) == "3"
  626.                         SetRegValue $(ParamKey) {Transceiver,$(NoTitle),$(!REG_VT_SZ),$(Transceiver3)}
  627.                     endif
  628.                     CloseRegKey $(ParamKey)
  629.                 endif
  630.             EndForListDo
  631.             CloseRegKey $(LinkageKey)
  632.         endif
  633.     else
  634.         goto fatalregistry
  635.     endif
  636.     set iSearch = 1
  637. nextnetcard = +
  638.     Shell $(UtilityInf), FindNextNetworkCard, $(ProductHardwareName), $(iSearch)
  639.     set KeyNetcard = $($R0)
  640.     set iSearch = $($R1)
  641.     Debug-Output "OemNadEp.Inf: FindNextNetworkCard "$(KeyNetcard)","$(iSearch)
  642.     Ifstr $(KeyNetcard) != $(KeyNull)
  643.         Debug-Output "OemNadEp.Inf: Setting OperationsSupport value"
  644.         SetRegValue $(KeyNetcard) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  645.         CloseRegKey $(KeyNetcard)
  646.         goto nextnetcard
  647.     Endif
  648.     goto end
  649. successful = +
  650.     goto end
  651. abandon = +
  652.     ForListDo $(OEM_ABANDON_OPTIONS)
  653.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  654.             $(ProductSoftwareName), $($)
  655.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  656.             Debug-Output "ShellCode error"
  657.             goto ShellCodeError
  658.         endif
  659.         set RegistryErrorIndex = $($R0)
  660.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  661.             goto fatalregistry
  662.         endif
  663.     EndForListDo
  664.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  665.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  666.             $(ProductSoftwareName), FALSE
  667.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  668.             Debug-Output "ShellCode error"
  669.             goto ShellCodeError
  670.         endif
  671.         set RegistryErrorIndex = $($R0)
  672.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  673.             goto fatalregistry
  674.         endif
  675.     endif
  676.     goto end
  677. warning = +
  678.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  679.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  680.         goto ShellCodeError
  681.     endif
  682.     ifstr(i) $($R1) == "OK"
  683.         goto $(to)
  684.     else-ifstr(i) $($R1) == "CANCEL"
  685.         goto $(from)
  686.     else
  687.         goto "end"
  688.     endif
  689. nonfatalinfo = +
  690.     Set CommonStatus = STATUS_USERCANCEL
  691.     Set Severity = STATUS
  692.     goto nonfatalmsg
  693. nonfatal = +
  694.     Set Severity = NONFATAL
  695.     goto nonfatalmsg
  696. nonfatalmsg = +
  697.     ifstr(i) $(Error) == ""
  698.         Set Severity = NONFATAL
  699.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  700.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  701.             goto ShellCodeError
  702.         endif
  703.         set Error = $($R0)
  704.     endif
  705.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  706.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  707.         goto ShellCodeError
  708.     endif
  709.     ifstr(i) $($R1) == "OK"
  710.         goto $(from)
  711.     else
  712.         goto "end"
  713.     endif
  714. fatalregistry = +
  715.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  716.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  717.         goto ShellCodeError
  718.     endif
  719.     set Error = $($R0)
  720.     goto fatal
  721. fataldetect = +
  722.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  723.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  724.         Debug-Output "ShellCode error: cannot get an error string."
  725.         goto ShellCodeError
  726.     endif
  727.     set Error = $($R0)
  728.     Goto fatal
  729. fatal = +
  730.     ifstr(i) $(Error) == ""
  731.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  732.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  733.             goto ShellCodeError
  734.         endif
  735.         set Error = $($R0)
  736.     endif
  737.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  738.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  739.         goto ShellCodeError
  740.     endif
  741.     goto setfailed
  742. ShellCodeError = +
  743.     set DlgType      = "MessageBox"
  744.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  745.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  746.     set STF_MB_TYPE  = 1
  747.     set STF_MB_ICON  = 3
  748.     set STF_MB_DEF   = 1
  749.     ui start "Error Message"
  750.     goto setfailed
  751. setfailed = +
  752.     set CommonStatus = STATUS_FAILED
  753.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  754.         set OEM_ABANDON_ON = FALSE
  755.         goto abandon
  756.     endif
  757.     goto end
  758. end = +
  759.     goto term
  760. term = +
  761.     Return $(CommonStatus)
  762. [Install-Option]
  763.     set STF_VITAL = ""
  764.     ifstr(i) $(AddCopy) == "YES"
  765.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  766.     endif
  767.     ifstr(i) $(DoCopy) == "YES"
  768.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  769.        CopyFilesInCopyList
  770.     endif
  771.     ifstr(i) $(DoConfig) == "YES"
  772.     endif
  773.     Exit
  774. [Install-Update]
  775.    set STF_VITAL        = ""
  776.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  777.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  778.    CopyFilesInCopyList
  779.    exit
  780. [Source Media Descriptions]
  781.     1 = "Windows NT Server CD-ROM", TAGFILE = cdrom_s.40
  782. [Signature]
  783.     FileType = MICROSOFT_FILE
  784. [GetSignature]
  785.     read-syms Signature
  786.     return $(FileType)
  787. [ProductType]
  788. STF_PRODUCT  = LanmanNT
  789. STF_PLATFORM = I386
  790. [Files-Inf]
  791. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  792. [Files-EE16]
  793. 1,EE16.SYS , SIZE=999
  794. [LanguagesSupported]
  795.     ENG
  796. [OptionsTextENG]
  797.     EE16     = "Intel Ether Express 16 LAN Adapter"
  798. [FileConstantsENG]
  799. ProCaption   = "Windows NT Setup"
  800. ProCancel    = "Cancel"
  801. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  802.                "Are you sure you want to cancel copying files?"
  803. ProCancelCap = "Network Setup Message"
  804. ProText1     = "Copying:"
  805. ProText2     = "To:"
  806. FunctionTitle   = "Intel Ether Express 16 LAN Adapter Setup"
  807. ProductSoftwareDescription      = "Intel Ether Express 16 LAN Adapter Driver"
  808. ProductHardwareDescription      = "Intel Ether Express 16 LAN Adapter"
  809. ProductSoftwareTitle    = "Intel Ether Express 16 LAN Adapter Driver"
  810. ProductHardwareTitle    = "Intel Ether Express 16 LAN Adapter"
  811. ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  812. ShellCodeErrorText      = "Shell Code Error."
  813. IOReadyListShort = { "Late", "Never" }
  814. IOReadyList      = { "Early", "Late", "Never" }
  815. TransceiverList  = {"Thick Net (AUI/DIX)","Thin Net (BNC/COAX)","Twisted-Pair (TPE)"}
  816. [DialogConstantsENG]
  817. Help        = "&Help"
  818. Exit        = "Cancel"
  819. OK          = "OK"
  820. HelpContext = ""
  821. Continue    = "Continue"
  822. Cancel      = "Cancel"
  823. [FileDependentDlgENG]
  824. Combo1Label = "&IRQ Level:"
  825. Combo2Label = "I/&O Port Address:"
  826. Combo3Label = "I/O &Channel Ready:"
  827. Combo4Label = "&Transceiver Type:"
  828. EarlyWarning = "Use of the Early setting may cause system failure in some machines. "+
  829.                "Are you sure you wish to continue?"
  830. DlgType = "RadioCombination"
  831. DlgTemplate = "EE_16"
  832. Caption = $(FunctionTitle)
  833. Combo1List = $(IRQList)
  834. Combo1Out  = $(IRQValue)
  835. Combo2List = $(IOBaseAddrHexList)
  836. Combo2Out  = $(IOBaseAddress)
  837. Combo3List = $(IOReadyListDisplay)
  838. Combo3Out  = $(IOReadyValue)
  839. Combo4List = $(TransceiverList)
  840. Combo4Out  = $(TransceiverValue)
  841. ComboListItemsIn  = {Combo1List, Combo2List, Combo3List, Combo4List}
  842. ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out}
  843. EditTextIn = ""
  844. EditTextLim = ""
  845. CBOptionsGreyed = {}
  846. NotifyFields = {NO, NO}
  847. HelpContext = $(!IDH_DB_OEMNADIN_INS)
  848.